package com.ch10.demo1;

/**
 * @ClassName AbstractHandler
 * @Description 抽象处理器
 * 责任链模式
 * @Author Kx
 * @Date 2025/4/17 19:08
 * @Version 1.0
 */
public abstract class AbstractHandler {
    /***
     * @author: kx
     * @date: 2025/4/17 19:09
     * @description: 定义下一个任务处理器
     */
    private AbstractHandler nextHandler;

    /***
     * @author: kx
     * @date: 2025/4/17 19:10
     * @return com.ch10.demo1.AbstractHandler : 下一个任务处理器
     * @description: 获取下一个任务处理器
    */
    public AbstractHandler getNextHandler() {
        return nextHandler;
    }

    /***
     * @author: kx
     * @date: 2025/4/17 19:11
     * @param nextHandler : 下一个任务处理器
     * @description: 设置下一个任务处理器
    */
    public void setNextHandler(AbstractHandler nextHandler) {
        this.nextHandler = nextHandler;
    }

    /***
     * @author: kx
     * @date: 2025/4/17 19:11
     * @param money : 提现金额
     * @description: 抽象的审批行为,由不同的子节点做不同的实现
    */
    public abstract void execute(int money);
}
